#include "widget.h"
#include "ui_widget.h"
#include <QProgressBar>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 注意：不能使用新线程修改界面，只能使用主线程
    // 设置初始值
    ui->progressBar->setValue(0);
    ui->progressBar->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
    // 设置实例
    timer = new QTimer(this);
    // 将自定义函数与timer的timeout信号进行连接
    connect(timer,&QTimer::timeout,this,&Widget::handler);
    // 开始运行
    timer->start(100);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handler()
{
    // 获取进度条的值
    int val = ui->progressBar->value();
    // 大于或等于100则退出
    if(val >= 100)
    {
        timer->stop();
        return;
    }
    // 更新进度条的值
    ui->progressBar->setValue(val + 1);
}
